package main

import "fmt"

// 测试数组是否是值传递，切片是否是引用传递

func gen(a [3]int) {
	a[0] = 11
}

func gen2(s []int) {
	s[0] = 11
}

func main() {
	array := [3]int{1, 2, 3}
	gen(array)
	fmt.Println(array) // [1 2 3]
	s := []int{1, 2, 3}
	gen2(s)
	fmt.Println(s)
}

// 可以看到数组是值传递，会生产一个新的对象，而切片是引用传递，是同一个对象
